<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Alegro extends CI_Controller {

	public function __construct(){
		parent::__construct();
		$this->load->model ('alegro_model', 'alegro');
	}
	
	public function index(){
		if (DATA_EXPIRACAO == Date_Now("pt-br")){
			redirect('alegro/expira');
		} else {
			if (!is_logado()) {
				redirect('alegro/login');
			} else {
				$dados = array(
					'titulo' 			=> 'Home',
					'subtitulo' 		=> 'Sistema de Pedidos Web',
					'funcionalidade' 	=> 'Dashboard',
					'modulo'			=> 'alegro',
					'tela' 				=> 'index',
				);
				$this->parser->parse('index', $dados);
			}
		}
	}
	
	public function expira(){
		$dados = array(
			'titulo' 			=> 'Verificação do Sistema',
			'subtitulo' 		=> 'Data limite de uso expirada:',
			'funcionalidade' 	=> 'Avaliação',
			'comentario' 		=> 'Contate o suporte técnico para verificar se existem débito(s) referente ao período de uso.',
			'modulo'			=> 'alegro',
			'tela' 				=> 'expira',
		);
		$this->parser->parse('index', $dados);
	}
	
	public function login(){
		if (is_logado()) {
			redirect('alegro/index');
		} else {
			$dados = array (
					'titulo' 			=> 'Login',
					'subtitulo' 		=> 'Sistema de Pedidos Web',
					'funcionalidade' 	=> 'Dashboard',
					'modulo' 			=> 'alegro',
					'tela' 				=> 'login',
			);
			$this->parser->parse('index', $dados);
		}
	}
	
	public function logar(){
		$dados = elements(array('usuario', 'senha', 'logar'), $this->input->post());
		$dados['senha'] = $this->encrypt($dados['senha']);
		
		$return = $this->alegro->authenticate($dados);
		
		if ($return != NULL) {
			$this->session->set_userdata($return);
		}else{
			$this->session->set_flashdata('loginError', 'E-mail ou senha incorretos!');
		}
		redirect('alegro/login');
	}
	
	public function logout(){
		$this->session->sess_destroy();
		redirect('alegro/index');
	}
	
	public function alterar_senha(){	
		if ($this->session->userdata('usuario_id') != "") {
			if ($this->input->post() != ""){
				if ($this->input->post('senha_atual') == "" ) {
					echo 'Preencha o campo Senha Atual!';
				} else if ($this->input->post('senha_nova') == "") {
					echo 'Preencha o campo Nova Senha!';
				} else if ($this->input->post('senha_confirma') == "") {
					echo 'Preencha o campo Confirme a Senha!';
				} else {
					//$this->form_validation->set_rules('senha_atual', 'SENHA ATUAL', 'trim|required|max_length[32]');
					//$this->form_validation->set_message('matches', 'NOVA SENHA não é igual a CONFIRME A SENHA');
					$this->form_validation->set_rules('senha_nova', 'NOVA SENHA', 'trim|required|max_length[32]|matches[senha_confirma]');
					$this->form_validation->set_rules('senha_confirma', 'CONFIRME A SENHA', 'trim|required|max_length[32]');
					
					if ($this->form_validation->run() == true){
						$usuario_id = $this->session->userdata('usuario_id');
						$senha_atual = trim($this->input->post('senha_atual'));
						$senha_atual = $this->encrypt($senha_atual);
						
						$confirma_senha = $this->alegro->confirm_senha($senha_atual, $usuario_id);
						
						if ($confirma_senha){
							$nova_senha = trim($this->input->post('senha_nova'));
							$nova_senha = $this->encrypt($nova_senha);
							
							$alterar_senha = $this->alegro->altera_senha($nova_senha, $usuario_id);
							
							if ($alterar_senha){
								$result = 'Senha alterada com sucesso!';
							} else {
								$result = 'Erro ao tentar alterar a senha, tente novamente mais tarde';
							}
							
						} else {
							$result = 'Senha Atual está Incorreta!';
						}
						echo $result;
					} else {
						echo 'O campo Nova Senha não é igual ao campo Confirme a Senha';
					}
				}
			} else {
				echo 'Preencha corretamente todos os campos!';
			}
			
		} else {
			echo 'Erro: Favor entre em contato com o admisnistrador!';
		}
		//$this->parser->parse('index', $dados);
	}
	
	public function encrypt($dados){
		return $this->encrypt->sha1($dados);
	}
	
	public function senha() {
		$senha = "123";
		
// 		$key = "teste";
// 		$senhaGerada = $this->encrypt->encode($senha);
// 		$senhaGerada = $this->encrypt->encode($senha, $key);
// 		echo $senhaGerada;
// 		echo "<br>";
// 		$senhaGerada = $this->encrypt->decode($senhaGerada);
// 		$senhaGerada = $this->encrypt->decode($senhaGerada, $key);
		
		$senhaGerada = $this->encrypt->sha1($senha);
		echo $senhaGerada;
	}
	
	 
}